package main.data.dataManager;

import java.util.List;

import main.data.Centroid;
import main.data.Membership;

import de.gugubarra.core.nop.Nop;
import de.gugubarra.core.nop.Topic;
import de.gugubarra.core.nop.User;

public interface DataManager {

	// original data
	public User getUserByIndex(int indexOfUser);

	public Nop getNopByIndex(int indexOfNop);

	public List<Topic> getTopicList();

	// clustering data
	public Centroid getCentroidByIndex(int indexOfCentroid);

	public void setCentroidByIndex(int indexOfCentroid, Centroid newCentroid);

	public void mergeClusters(Centroid firstCentroid, Centroid secondCentroid);

	public void addCluster(Centroid newCentroid);

	public Membership getMembership(Nop nop, Centroid centroid);

	public void setMembership(Nop nop, Centroid centroid, Membership membership);

}
